cairo_surface_destroy (cvpb_surface);
cairo_region_destroy (bounds_region);
- _gdk_quartz_unref_cairo_surface (gdk_window);
+ _gdk_quartz_unref_cairo_surface (gdk_window); // reffed in gdk_window_impl_quartz_begin_paint
CVPixelBufferUnlockBaseAddress (pixels, 0);
--impl->in_paint_rect_count;
self.layer.contents = NULL;
static gboolean
gdk_window_impl_quartz_begin_paint (GdkWindow *window)
{
- gdk_quartz_ref_cairo_surface (window);
+ gdk_quartz_ref_cairo_surface (window); //unreffed in GdkQuartzView::updateLayer
return FALSE;
}
frame_rect = [impl->toplevel frameRectForContentRect:content_rect];
[impl->toplevel setFrame:frame_rect display:YES];
impl->cairo_surface = gdk_quartz_ref_cairo_surface (window);
+ cairo_surface_destroy (impl->cairo_surface); // Remove the extra reference
}
else
{